/*
 * Ant Group
 * Copyright (c) 2004-2024 All Rights Reserved.
 */
package com.alipay.zmdepositdemo.service.create;

import com.alipay.zmdepositdemo.model.CreditOrderModel;
import com.alipay.zmdepositdemo.model.OpenResponse;

/**
 * 创建免押订单
 *
 * 简要流程 <详情请参考注释中接入指南/>
 * 1、【研发】【商家】创建免押订单，获得orderStr用于支付宝端拉起下单页面
 * 2、      【用户】在下单受理页面中下单
 * 3、【研发】【商家】确认订单通知，主动返回success
 *
 * @author zhangjian
 * @version DepositOrderCreateServiceImpl.java, v 0.1 2024年06月17日 14:36 zhangjian
 * @see <a href="https://opendocs.alipay.com/open/03w0a8?pathHash=d3c885ce#创建免押订单流程/">接入指南-创建免押订单流程</a>
 */
public interface DepositOrderCreateService {

    /**
     * 1、创建免押订单
     *
     * 请关注返回的orderStr签名字符串
     *
     * @param creditOrderModel 信用订单模型
     * @return 页面下单链接URL
     * @see <a href="https://opendocs.alipay.com/open/03w0a8?pathHash=d3c885ce#创建免押订单">接入指南-创建免押订单</a>
     */
    OpenResponse<String> createDepositOrder(CreditOrderModel creditOrderModel);

    /*
     * 2、跳转确认订单页
     * 支付宝根据用户不同的使用场景（ 小程序、App 、H5 ）分别提供了对应跳转确认订单页的方法，请根据场景进行选择。
     * 小程序代码可参考示例工程文档中demo代码
     *
     * @see <a href="https://opendocs.alipay.com/open/03w0a8?pathHash=d3c885ce#跳转确认订单页">接入指南-跳转确认订单页</a>
     */

    /*
     * 3、创建免押订单结果通知/确认订单回调通知
     * 支付宝将通过异步消息通知返回给商家，请关注在【创建免押订单】时的notify_url参数
     * @see <a href="https://opendocs.alipay.com/open/03w0a8?pathHash=d3c885ce#确认订单回调通知">接入指南-确认订单回调通知</a>
     */

}